const browserIpc = (window as any).ipc // 原生 ipc 对象

/**
 * 
 * 渲染器进程到主进程（双向）
 * 通过将 ipcRenderer.invoke 与 ipcMain.handle 搭配使用来完成
 */
export const useIpcInvoke = (channel, msg?: any) => browserIpc.invoke(channel, msg)

/**
 * 
 * 渲染器进程到主进程（单向）
 * 使用 ipcRenderer.send API 发送消息
 * 使用 ipcMain.on API 接收
 */
export const useIpcSend = (channel, msg?: any) => browserIpc.send(channel, msg)

/**
 * 
 * 主进程到渲染器进程
 * 
 */
export const useIpcReceive = (channel, callback?: any) => browserIpc.on(channel, callback)